home *** CD-ROM | disk | FTP | other *** search
/ A.C.E. 2 / ACE CD 2.iso / FILES / UTILS / GAMESDS3.DMS / GAMESDS3.adf / GDS_Examples.lha / Examples / misc / ra.c < prev    next >
C/C++ Source or Header  |  1994-11-14  |  1KB  |  42 lines

  1. /* Random Analysis program.  Test random function for good spread. */
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. #include "GameSmith:GameSmith.h"
  7. #include "GameSmith:include/libraries/libptrs.h"
  8. #include "GameSmith:include/proto/all_regargs.h"
  9.  
  10. #define ITERATIONS   1000000   /* get 1 million random numbers */
  11.  
  12. main(argc,argv)
  13. int argc;
  14. char *argv[];
  15.  
  16. {
  17.    unsigned long cnt,*sample;
  18.    unsigned short sample_size,num;
  19.  
  20.    if (argc < 2)
  21.       {
  22.       printf("\nUSAGE: ra [number range]\n");
  23.       exit(01);
  24.       }
  25.    sample_size=atoi(argv[1]);
  26.    printf("\nSample Range: 0 to %d (processing, please wait...)\n",sample_size-1);
  27.    if (!(sample=malloc(sample_size*sizeof(long))))
  28.       printf("\ninsufficient memory for sample array\n");
  29.    for (cnt=0; cnt < sample_size; cnt++)
  30.       sample[cnt]=0;         /* clear sample count */
  31.    for (cnt=0; cnt < ITERATIONS; cnt++)
  32.       {
  33.       num=_gs_random(sample_size);      /* get random # in specified range */
  34.       sample[num]++;         /* increment count for that number */
  35.       }
  36.    printf("\nCount of Random Number Values:");
  37.    for (cnt=0; cnt < sample_size; cnt++)
  38.       printf("\n%d\t=%d",cnt,sample[cnt]);
  39.    printf("\n");
  40.    free(sample);
  41. }
  42.